<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.29
     from news4.0.tnf on 19 December 2010 -->

<TITLE>New Features of Eli4.0 - Changes to the Eli User-Interface</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" BACKGROUND="gifs/bg.gif">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0" VALIGN=BOTTOM>
<TR VALIGN=BOTTOM>
<TD WIDTH="160" VALIGN=BOTTOM>
<A HREF="http://eli-project.sourceforge.net/">
<IMG SRC="gifs/elilogo.gif" BORDER=0>
</A>&nbsp;
</TD>
<TD WIDTH="25" VALIGN=BOTTOM>
<img src="gifs/empty.gif" WIDTH=25 HEIGHT=25>
</TD>
<TD ALIGN=LEFT WIDTH="475" VALIGN=BOTTOM>
<A HREF="index.html"><IMG SRC="gifs/title.png" BORDER=0></A>
</TD>
<!-- |DELETE FOR SOURCEFORGE LOGO|
<TD>
<a href="http://sourceforge.net/projects/eli-project">
<img
  src="http://sflogo.sourceforge.net/sflogo.php?group_id=70447&amp;type=13"
  width="120" height="30"
  alt="Get Eli: Translator Construction Made Easy at SourceForge.net.
    Fast, secure and Free Open Source software downloads"/>
</a>
</TD>
|DELETE FOR SOURCEFORGE LOGO| -->
</TR>
</TABLE>

<HR size=1 noshade width=785 align=left>
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
<TR>
<TD VALIGN=TOP WIDTH="160">
<h4>General Information</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="index.html">Eli: Translator Construction Made Easy</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gindex_1.html#SEC1">Global Index</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="faq_toc.html" >Frequently Asked Questions</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Tutorials</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="EliRefCard_toc.html">Quick Reference Card</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="novice_toc.html">Guide For new Eli Users</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="news_toc.html">Release Notes of Eli</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="nametutorial_toc.html">Tutorial on Name Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="typetutorial_toc.html">Tutorial on Type Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Reference Manuals</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ui_toc.html">User Interface</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="pp_toc.html">Eli products and parameters</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lidoref_toc.html">LIDO Reference Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Libraries</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lib_toc.html">Eli library routines</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="modlib_toc.html">Specification Module Library</a></td></tr>
</table>

<h4>Translation Tasks</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lex_toc.html">Lexical analysis specification</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="syntax_toc.html">Syntactic Analysis Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="comptrees_toc.html">Computation in Trees</a></td></tr>
</table>

<h4>Tools</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lcl_toc.html">LIGA Control Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="show_toc.html">Debugging Information for LIDO</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gorto_toc.html">Graphical ORder TOol</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="fw_toc.html">FunnelWeb User's Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ptg_toc.html">Pattern-based Text Generator</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="deftbl_toc.html">Property Definition Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="oil_toc.html">Operator Identification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="tp_toc.html">Tree Grammar Specification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="clp_toc.html">Command Line Processing</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="cola_toc.html">COLA Options Reference Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="idem_toc.html">Generating Unparsing Code</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="mon_toc.html">Monitoring a Processor's Execution</a> </td></tr>
</table>

<h4>Administration</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="sysadmin_toc.html">System Administration Guide</a> </td></tr>
</table>

<HR WIDTH="100%">
<A HREF="mailto:eli-project-users@lists.sourceforge.net">
<IMG SRC="gifs/button_mail.gif" BORDER=0 ALIGN="left"></A>
<A HREF="index.html"><IMG SRC="gifs/home.gif" BORDER=0 ALIGN="right"></A>

</TD>
<TD VALIGN=TOP WIDTH="25"><img src="gifs/empty.gif" WIDTH=25 HEIGHT=25></TD>

<TD VALIGN=TOP WIDTH="600">
<H1>New Features of Eli4.0</H1>
<P>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="news4.0_2.html"><IMG SRC="gifs/next.gif" ALT="Next Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="news4.0_toc.html"><IMG SRC="gifs/up.gif" ALT="Table of Contents" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT="">
<HR size=1 noshade width=600 align=left>
<H1><A NAME="SEC1" HREF="news4.0_toc.html#SEC1">Changes to the Eli User-Interface</A></H1>
<P>
<H4>Invocation of Eli</H4>
<P>
Eli is built on top of the Odin-System. Up to Version 3.8.3 of the Eli-System, 
an Odin-Version was integrated in the Eli-System. With the years passing, this
odin-system was debugged and adapted to the Eli-System thus making it
difficult to integrate new Odin-Versions developed by the author. 
While Odin is still distributed with Eli, the directories for the two
are now completely separated.  Eli is actually a set of Odin <EM>packages</EM>.
<P>
What does this mean for the Eli-User?
<P>
While an <TT>`eli'</TT> invocation script is still provided, all it does is
to set an Odin environment variable, <CODE>ODINPATH</CODE>, to the location
of the Eli packages and then invoke the <TT>`odin'</TT> invocation script.
Note that the command-line options for this script are different than
those older versions of Eli had.  Read the manual page for <TT>`odin'</TT>
to learn more about the command-line options.
<P>
In order to start using Eli, you should set up your account with a few
environment-variable settings. First, you must enter the Path to the
Odin-System into your Environment-variable <SAMP>`PATH'</SAMP>. Since the exact
commandline differs in different shells, the following example is valid for
usage in <SAMP>`csh'</SAMP>-compatible shells:
<P>
<PRE>
   setenv PATH /usr/local/eli/Odin/bin:$PATH
   setenv MANPATH /usr/local/eli/Odin/man:$MANPATH
</PRE>
<P>
If you wish to use the <TT>`odin'</TT> script directly, rather than using the
<TT>`eli'</TT> script, you will have to set the <CODE>ODINPATH</CODE> environment
variable to point to the directory where the Eli packages are installed.
For example, you might execute the following command before issuing calls
to <TT>`odin'</TT>.
<P>
<PRE>
   setenv ODINPATH /usr/local/eli/ELI4.0
</PRE>
<P>
By default, Odin maintains a cache directory <SAMP>`.ODIN'</SAMP> in your 
home-directory. If you dislike this, you can supply a new definition in the
environment-variable <SAMP>`ODINCACHE'</SAMP>.
<P>
Note that with this new version of Odin you can specify Odin requests
to execute on the command-line.  Odin will execute the requests and return
to the shell.  If you do not provide any command-line requests, Odin
will come up interactively, which looks like this:
<P>
<PRE>
   Eli Version 4.0 (? for help, ^D to exit) (local)
   -&#62; 
</PRE>
<P>
<H4>Using Eli</H4>
<P>
In this section, only the main differences between the usage of the
Odin-System and the Eli-System up to Version 3.8.3 will be pointed out. For a 
more complete introduction, please refer to  <A HREF="ui_toc.html">Overview of Eli User Interface Reference Manual</A>.
 
An Odin command that simply specifies an object makes sure that this object
is up to date. Up to version 3.8.3 of Eli, such an object was immediately
displayed on the Terminal. This is no longer the case. For example, the
command <CODE>x.specs:exe:warning</CODE> will generate a file containing all
the warnings and errors while deriving the executable from the given
specification. Odin <EM>will not</EM> display the warnings, however.
<P>
To display an object, append a <CODE>&#62;</CODE> to the derivation. A <CODE>&#60;</CODE> appended
to an object will invoke your editor with the filename of the generated
object. By appending a <CODE>!</CODE> and a command, you can invoke a unix-command
with the filename of the generated object.
<P>
<PRE>
   x.specs+arg=(i):run     # Make up-to-date
   x.specs:parsable&#60;       # To your editor
   x.specs&#62;                # To standard output
   x.specs:exe&#62;x.exe       # To file x.exe
   x.specs:source&#62;src      # To directory src
   x.specs:absyntax!more   # Start 'more' with product
</PRE>
<P>
If an object is executable (e.g. the derivation to <SAMP>`:help'</SAMP>
yields an executable object), this object is immediately executed upon deriving it. So a
derivation <CODE>x.specs:exe:help</CODE> starts the help-browser with the error- and warning
messages occured while deriveing the executable. If you append a <SAMP>`&#62;'</SAMP> to the
request, you will get the generated executable shellscript displayed.
<P>
Another change in the user interface is, that the history mechanism has been
dropped. Instead, you can browse in older commandlines using the arrow-keys of
your keyboard, See  <A HREF="EliRefCard_3.html#SEC9">User Interface of Quick Reference for Eli 4.0</A>, for further information.
<P>
<H4>Changed names for derived objects</H4>
<P>
In the following, you will see a list with the names of legal derivations for
Eli Version 3.8.3. After each derivation, a Eli4.0 substitute will be
mentioned. Derivations that have not changed will not be mentioned here.
<P>
<DL COMPACT>
<DT><CODE>:err</CODE>
<DD>   <CODE>:err</CODE> has been predefined in Odin to mean an object with the raw
   error output from a derivation (Eli3.8-name was <CODE>:.error</CODE>) The Eli4.0
   name for this is <CODE>:error</CODE>.
<DT><CODE>:warn</CODE>
<DD>   <CODE>:warn</CODE> has been predefined in Odin to mean an object with the raw
   error and warning output from a derivation (Eli3.8-name was
   <CODE>:.warning</CODE>) The Eli4.0 name for this is <CODE>:warning</CODE>.
<DT><CODE>+arg=(filename):stdout</CODE>
<DD>   Odin has now a more powerful method of executing a generated object. Here,
   a directory in which the execution should be performed is the main option.
   The commandline must be supplied in the option <CODE>+cmd</CODE>. From there,
   the standard output or the error output can be obtained as objects. A 
   substitute for <CODE>x.specs+arg=(in):stdout</CODE> is now
<PRE>
   . +cmd=(x.specs:exe) (in):stdout
</PRE>
   For further information, See  <A HREF="pp_4.html#SEC37">Supply Command Line Parameters of Products and Parameters Reference</A>.
<DT><CODE>:gencode</CODE>
<DD>   is a list of generated <CODE>.c</CODE> and <CODE>.h</CODE> files generated
   from the processor-specification. To display such a list, use a derivation
   to <CODE>:viewlist</CODE> which starts a browser session with the given list. In
   total, use <CODE>:gencode:viewlist</CODE> instead of the given Eli3.8-derivation.
<P>
   This technique also applies to other derivations, for example
   <CODE>:showFe:viewlist</CODE>, <CODE>:showMe:viewlist</CODE>,
   <CODE>:allspecs:viewlist</CODE> and <CODE>:source:viewlist</CODE>.
</DL>
<P>
<HR size=1 noshade width=600 align=left>
<P>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="news4.0_2.html"><IMG SRC="gifs/next.gif" ALT="Next Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="news4.0_toc.html"><IMG SRC="gifs/up.gif" ALT="Table of Contents" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT="">
<HR size=1 noshade width=600 align=left>
</TD>
</TR>
</TABLE>

</BODY></HTML>
